package com.ruoyi.example.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import com.ruoyi.common.utils.StringUtils;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.example.domain.MgExamplePic;
import com.ruoyi.example.mapper.ExampleMapper;
import com.ruoyi.example.domain.Example;
import com.ruoyi.example.service.IExampleService;
import com.basic.service.impl.BaseServiceImpl;

/**
 * 案例管理Service业务层处理
 * 
 * @author 王强
 * @date 2024-01-20
 */
@Service
public class ExampleServiceImpl extends BaseServiceImpl<Long, Example> implements IExampleService 
{
    public ExampleServiceImpl(ExampleMapper baseMapper) {
		super(baseMapper);
		// TODO Auto-generated constructor stub
	}
    /**
     * 查询案例管理
     * 
     * @param id 案例管理主键
     * @return 案例管理
     */
    @Override
    public Example selectById(Integer id)
    {
        return baseMapper.selectById(id);
    }

    /**
     * 查询案例管理列表
     * 
     * @param example 案例管理
     * @return 案例管理
     */
    @Override
    public List<Example> selectList(Example example)
    {
        return baseMapper.selectList(example);
    }

    /**
     * 新增案例管理
     * 
     * @param example 案例管理
     * @return 结果
     */
	@Transactional(propagation = Propagation.MANDATORY)

    @Override
    public int insert(Example example)
    {
      
    	insertProperties(example);
    	
    	 baseMapper.insert(example);
    	 return example.getId();
    }
    
    

    /**
     * 修改案例管理
     * 
     * @param example 案例管理
     * @return 结果
     */
    @Transactional
    @Override
    public int update(Example example)
    {
    	updateProperties(example);
        return baseMapper.update(example);
    }

    /**
     * 批量删除案例管理
     * 
     * @param ids 需要删除的案例管理主键
     * @return 结果
     */
    @Transactional
    @Override
    public int deleteByIds(Integer[] ids)
    {
        return baseMapper.deleteByIds(ids);
    }

    /**
     * 删除案例管理信息
     * 
     * @param id 案例管理主键
     * @return 结果
     */
    @Transactional
    @Override
    public int deleteById(Integer id)
    {
        return baseMapper.deleteById(id);
    }

}
